﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Data;
using BLToolkit.Data;
using BLToolkit.DataAccess;
using BLToolkit.Mapping;
using Devsoft.DB.Models;
namespace Data_Access_Layer
{
	[TableName("Account")]
	public class Account : Devsoft.DB.Models.Flat.Model<Account>
	{
		/// <summary>
		/// lấy hoặc gán mã tài khoản
		/// </summary>
		[PrimaryKey, Identity]
		public int Id { get; set; }

		private string username;
		/// <summary>
		/// Username Tên tài khoản đăng nhập.
		/// </summary>
		public string Username
		{
			get { return username; }
			set { username = value; }
		}

		private string password;
		/// <summary>
		/// Password mật khẩu tài khoản đăng nhập.
		/// </summary>
		public string Password
		{
			get { return password; }
			set { password = value; }
		}

		private int empId;
		/// <summary>
		/// EmpId Mã nhân viên sử dụng tài khoản này.
		/// </summary>
		public int EmpId
		{
			get { return empId; }
			set { empId = value; }
		}

		private DateTime? lastLogin;
		/// <summary>
		/// LastLogin Thời điểm cuối tài khoản này được đăng nhâp.
		/// </summary>
		public DateTime? LastLogin
		{
			get { return lastLogin; }
			set { lastLogin = value; }
		}

		private bool deleted;
		/// <summary>
		/// Account Nhân viên đã bị xóa chưa.
		/// </summary>
		public bool Deleted
		{
			get { return deleted; }
			set { deleted = value; }
		}

		/// <summary>
		/// một tài khoản chỉ dành cho một nhân viên.
		/// </summary>
		[Association(ThisKey = "EmpId", OtherKey = "Id", CanBeNull = false)]
		public Employee Employee { get; set; }
	}
}
